//
//  NSString+SJTool.h
//  Init
//
//  Created by zhaoshijie on 14/01/2018.
//  Copyright © 2018 zhaoshijie. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface NSString (SJTool)



/**
 设置字符串的颜色
 
 @param color 颜色
 @param range 位置
 @return 属性字符串
 */
- (NSAttributedString *)stringAttrWithColor:(UIColor *)color
                                      range:(NSRange )range;


/**
 设置字符串的颜色

 @param color 颜色
 @param range 位置
 @return 属性字符串
 */
- (NSAttributedString *)stringAttrWithFont:(UIFont *)font
                                     color:(UIColor *)color
                                     range:(NSRange )range;



/**
 设置字符串的颜色、行间距
 
 @param color 颜色
 @param range 位置
 @param alignment 对齐方式
 @return 属性字符串
 */
- (NSAttributedString *)stringAttrWithColor:(UIColor *)color
                                      range:(NSRange )range
                                  alignment:(NSTextAlignment)alignment
                                lineSpacing:(CGFloat)lineSpacing;

/**
 属性字符串
 
 @param font 字体大小
 @param color 字体颜色
 @param lineSpacing 行间距
 @return 属性字符串
 */
- (NSAttributedString *)stringAttrWithFont:(UIFont *)font
                                     color:(UIColor *)color
                               lineSpacing:(CGFloat)lineSpacing;


/**
 属性字符串
 
 @param font 字体大小
 @param color 字体颜色
 @param alignment 对其方式
 @param lineBreakMode 显示不完全的显示模式
 @param kern 字间距
 @param lineSpacing 行间距
 @param underlineStyle 下划线  NSUnderlineStyleSingle线
 @param paragraphSpacing 段落间距
 @param firstLine 首行缩进
 @param headIndent 每行的头部缩进
 @param tailIndent 每行的尾部缩进
 @return 属性字符串
 */
- (NSAttributedString *)stringAttrWithFont:(UIFont *)font
                                     color:(UIColor *)color
                                 alignment:(NSTextAlignment)alignment
                             lineBreakMode:(NSLineBreakMode)lineBreakMode
                            underlineStyle:(NSUnderlineStyle)underlineStyle
                                      kern:(CGFloat)kern
                               lineSpacing:(CGFloat)lineSpacing
                          paragraphSpacing:(CGFloat)paragraphSpacing
                                 firstLine:(CGFloat)firstLine
                                headIndent:(CGFloat)headIndent
                                tailIndent:(CGFloat)tailIndent;


/**
 计算字符串的高度
 
 @param font 字体大小
 @param boundWidth 宽度
 @param boundHeight 高度
 @return 计算得到的大小
 */
- (CGSize)stringComputeSizeWithFont:(UIFont *)font
                         boundWidth:(float)boundWidth
                        boundHeight:(float)boundHeight;



/**
 计算字符串的高度
 
 @param font 字体大小
 @param lineSpacing 行间距
 @param boundWidth 宽度
 @param boundHeight 高度
 @return 计算得到的大小
 */
- (CGSize)stringComputeSizeWithFont:(UIFont *)font
                        lineSpacing:(CGFloat)lineSpacing
                         boundWidth:(float)boundWidth
                        boundHeight:(float)boundHeight;





/// 含有%等符号的Url字符串转换成正常的url字符串地址
- (NSString *)stringDecodeString;

/// 字符串     过滤之前
- (NSString *)stringRegularExpressionReplacing;

/// 字符串     过滤之前
- (NSString *)stringFilterEmptyString;

/// 过滤替换空对象、null对象
- (id)stringFilterEmptyNull;

/// 获取url中的参数并返回
- (NSArray*)getUrlStringParams;





@end
